summaryrefslogtreecommitdiff
path: root/app/[lng]/admin/ecc/page.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'app/[lng]/admin/ecc/page.tsx')
-rw-r--r--app/[lng]/admin/ecc/page.tsx44
1 files changed, 43 insertions, 1 deletions
diff --git a/app/[lng]/admin/ecc/page.tsx b/app/[lng]/admin/ecc/page.tsx
index bb3168c4..257ecfea 100644
--- a/app/[lng]/admin/ecc/page.tsx
+++ b/app/[lng]/admin/ecc/page.tsx
@@ -25,6 +25,11 @@ interface TestResult {
responseData?: string
timestamp: string
duration?: number
+ statusCode?: number
+ endpoint?: string
+ headers?: Record<string, string>
+ requestXml?: string
+ requestHeaders?: Record<string, string>
}
export default function ECCSenderTestPage() {
@@ -46,7 +51,12 @@ export default function ECCSenderTestPage() {
message: result.message,
responseData: result.responseData,
timestamp: new Date().toLocaleString('ko-KR'),
- duration
+ duration,
+ statusCode: result.statusCode,
+ endpoint: result.endpoint,
+ headers: result.headers,
+ requestXml: result.requestXml,
+ requestHeaders: result.requestHeaders
}
setTestResults(prev => ({ ...prev, [testName]: testResult }))
@@ -681,6 +691,11 @@ function TestResultCard({ result, title }: { result: TestResult; title: string }
<XCircle className="h-4 w-4 text-red-600" />
)}
<span className="font-semibold">{title}</span>
+ {typeof result.statusCode !== 'undefined' && (
+ <Badge variant="outline" className="text-xs">
+ HTTP {result.statusCode}
+ </Badge>
+ )}
<Badge variant="outline" className="text-xs">
{result.duration}ms
</Badge>
@@ -691,6 +706,33 @@ function TestResultCard({ result, title }: { result: TestResult; title: string }
<AlertDescription className="mt-2">
<div className="space-y-2">
<p>{result.message}</p>
+ {result.endpoint && (
+ <p className="text-xs text-muted-foreground break-all"><span className="font-medium">Endpoint:</span> {result.endpoint}</p>
+ )}
+ {result.headers && (
+ <details className="text-xs">
+ <summary className="cursor-pointer font-medium">응답 헤더 보기</summary>
+ <pre className="mt-2 p-2 bg-gray-100 rounded text-xs overflow-auto max-h-40">
+ {Object.entries(result.headers).map(([k, v]) => `${k}: ${v}`).join('\n')}
+ </pre>
+ </details>
+ )}
+ {result.requestHeaders && (
+ <details className="text-xs">
+ <summary className="cursor-pointer font-medium">요청 헤더 보기</summary>
+ <pre className="mt-2 p-2 bg-gray-100 rounded text-xs overflow-auto max-h-40">
+ {Object.entries(result.requestHeaders).map(([k, v]) => `${k}: ${v}`).join('\n')}
+ </pre>
+ </details>
+ )}
+ {result.requestXml && (
+ <details className="text-xs">
+ <summary className="cursor-pointer font-medium">요청 XML 보기</summary>
+ <pre className="mt-2 p-2 bg-gray-100 rounded text-xs overflow-auto max-h-60 whitespace-pre-wrap break-words">
+ {result.requestXml}
+ </pre>
+ </details>
+ )}
{result.responseData && (
<details className="text-xs">
<summary className="cursor-pointer font-medium">응답 데이터 보기</summary>